1. Field of the Invention
The present invention relates generally to telecommunication systems and methods, and, more particularly, to apparatus and methods for configuring and managing multi-node messaging networks.
2. Background
Voice messaging systems with multiple networked nodes have become quite common. A typical networked digital messaging system has a number of interconnected server nodes. Each of the nodes may be thought of as a computer-based system that performs communications functions, such as telephony/voicemail, email, facsimile, and possibly other messaging functions, at a particular location. Usually, the nodes are geographically remote to each other, but this is not a requirement of such systems. For example, different nodes of a system may be located in adjacent buildings, on different floors of the same building, in the same room, or even within a single equipment rack.
The nodes are interconnected using a network that allows the nodes to send messages to each other, such as the Internet or another digital communication network. Sending messages, however, may require the nodes to have prior knowledge of each other. The nodes therefore need to be configured within the network to enable exchange of messages between or among the nodes.
Each node has a number of digital networking mailboxes used for sending messages. When a message is sent within the network, it is addressed to one or more specific mailboxes. An addressee mailbox may correspond to a voicemail mailbox, a facsimile mailbox, an email mailbox, or another kind of user- or subscriber-related mailbox, i.e., a mailbox associated with one or more individual system users, from which the user or users may retrieve the message. The addressee mailbox may also correspond to a system mailbox, for example, a mailbox associated with a particular node, or a logical location for storing system-related data, such as system configuration data.
Consider, for example, a three-node system with nodes A, B, and C connected via a network. Node A may have a mailbox for node B, a mailbox for node C, and mailboxes for the individual users/subscribers at the location of node A. Similarly, node B may have a mailbox for node A, a mailbox for node C, and mailboxes for the users/subscribers at the location of node B. When a message is sent from a first subscriber on node A to a second subscriber on node B, the message includes two mailbox references: (1) a mailbox number for node B (as the B mailbox exists on node A), and (2) a mailbox number for the second subscriber (as the second subscriber mailbox exists on node B). Node A looks at the first mailbox number and, accordingly, routes the message to node B. When node B receives the message, it looks at the second mailbox number and, accordingly, routes the message to the second subscriber.
Next, consider the problem of adding a new node—D, for example—to this system. First, the various nodes must be interrogated to determine the topology of the system. This is particularly true in a peer-to-peer paradigm, where a central repository for configuration information generally does not exist. Each node thus must be interrogated to find out the node's connections to other nodes; it is possible that one or more nodes are not connected to all other nodes. For example, node B may not be connected to node C.
Second, a person with appropriate authority must logon to each of the existing nodes (A, B, and C) and create a mailbox for the new node D on each of the existing nodes, so that node D and subscribers on node D can be addressed from each of the existing nodes.
Third, a person with appropriate authority must logon to node D and create mailboxes for the existing nodes A, B, and C.
User identifications (IDs) and passwords for logon may not be identical on all the nodes. Furthermore, while mailbox numbers are unique on a particular node, they need not be (and generally are not) unique system-wide. For example, the mailbox number for node A may be 9000 on node B; the mailbox number for node A may be 650 on node C. As can be seen, a different number of digits may be used for mailbox numbering on different nodes. There may be other mailbox numbering rules that differ from node to node.
Moreover, different administrators at the different nodes may need to cooperate in assigning the mailbox numbers. For example, an administrator of node A may have to approve the assignment of the new mailbox number on node A for the new node D. Thus, an administrator on node B may not be able to configure the system without consultation with the administrator on node A (and with administrators of all the other nodes). Indeed, multiple administrators may have to agree to assignment of certain mailbox numbers.
When the number of nodes or the number of mailboxes is large, adding a new node becomes a long and tedious process requiring attention to detail and cooperation among a number of administrators. Because of its complexity, the process is error-prone. After each error, at least part of the process needs to be repeated to correct the error. While the system is misconfigured due to such an error, the system or its portions may be disabled, detrimentally affecting telecommunications across the enterprise.
Other changes to system configuration present similar problems.
It would be desirable to facilitate the process of modifying system configuration, including addition and deletion of nodes, and assignment of mailbox numbers. It would also be desirable to reduce instances of system misconfiguration. It would further be desirable to facilitate cooperation of administrators in the course of configuring a networked system.